4 תשובות
תמיד צריך לבדוק אם הקלט תקין. (או לסנן אותו - מה שמתאים.)
בתור הרגל תמיד אבל תמיד תבריח מחרוזות עם פונקציה מתאימה לפני הכנסה למסד. או יותר טוב - תמיד תשתמש ב-Preapered Statements, וזה כבר ייעשה בשבילך אוטומטית.
כנ"ל לגבי הוצאת נתונים מהמסד כדי לשלוח לדפדפן. לא שתעשה את זה עם סיסמאות, אבל תמיד תבריח את המחרוזות בהתאם.
גם זה וגם זה כדאי להפריד לשכבות נפרדות בתוכנה. אתה לא צריך כל פעם לסנן את הנתונים ידנית. זה צריך להיות אוטומטית בשכבות המתאימות: הראשון בעת הכנסה למסד והוצאה ממנו, והשני בעת שליחת נתונים לקובצי התצוגה (MVC).
במקרה הזה אם אתה עושה את זה ידנית - אין צורך (אז למה שאלת? :-) ), אבל שוב - לא אמור להיות לך אכפת מה זה.
> זה צריך להיות אוטומטית בשכבות המתאימות: ... בעת הכנסה למסד והוצאה ממנו.
אם אתה מעביר את הקלט ישירות למסד איך שקיבלת אותו מהמשתמש - אתה פתוח להזרקות.
אם אתה עושה עליו פעולות כלשהן לפני, למשל md5, אז פחות. בהנחה שאתה יודע היטב מה המסד אוהב ומה לא ואתה בטוח במאה אחוז שהמניפולציות שלך יוציאו פלט כזה שלמסד לא תהיה בעייה איתו - אתה יכול גם לא להבריח אותו. אבל כמו שאוראל אמר, יותר פשוט לא לחשוב פעמיים ותמיד להכין הכל.